Salah Sadou
نویسندگان
چکیده
Based on an experiment using three languages under .NET, this paper argues that the semantic di erences between these languages regarding method overloading and overriding give rise to signi cant complexity and break encapsulation. We rst recall the various interpretations of overriding and overloading in object oriented languages through what we call language signatures. Then, we perform an experiment with .NET components coded in di erent programming languages in order to observe the global behavior. From this, we show that overriding and overloading are not compatible with a key property of components: encapsulation. We conclude that, in the current state of the art, in order to build predictable assemblies, components must expose their internal structure! We propose a solution to this problem.
منابع مشابه
AlkoWeb : Un outil pour modéliser l'architecture des applications Web riches
HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau...
متن کاملWS03. Communication Abstractions for Distributed Systems
Communication is the foundation of many systems. Understanding communication is a key to building a better understanding of the interaction of software entities such as objects, components, and aspects. This workshop was an opportunity to exchange points of view on many facets of communication and interaction. The workshop was divided in two parts: the first dedicated to the presentation of eig...
متن کاملDynamic Evolution for Distributed Objects
This paper presents a way to apply an unanticipated evolution on distributed objects at run-time. This kind of dynamic evolution provides a new way of making distributed applications evolve dynamically (at run-time). So, new client programs may add behavior to existing server objects, that is visible only to them or shared with others; old clients may continue to use the non evolved version of ...
متن کاملA Component-Oriented Substitution Model
One of Software Engineering’s main goals is to build complex applications in a simple way. For that, software components must be described by its functional and non-functional properties. Then, the problem is to know which component satisfies a specific need in a specific composition context, during software conception or maintenance. We state that this is a substitution problem in any of the t...
متن کاملRestructuring Object-Oriented Applications into Component-Oriented Applications by Using Consistency with Execution Traces
Software systems should evolve in order to respond to changing client requirements and their evolving environments. But unfortunately, the evolution of legacy applications generates an exorbitant cost. In this paper, we propose an approach to restructure legacy objectoriented applications into component-based applications. Our approach is based on dynamic dependencies between classes to identif...
متن کامل